package com.risen.project.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName(value = "project_manage")
public class ProjectManage {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 项目 ID 以当地财政部门使用的编码为准
     */
    @TableField(value = "base_proj_id")
    private String baseProjId;

    /**
     * 项目名称
     */
    @TableField(value = "base_proj_name")
    private String baseProjName;

    /**
     * 行政区划编码
     */
    @TableField(value = "base_area_code")
    private String baseAreaCode;

    /**
     * 行政区划名称
     */
    @TableField(value = "base_area_name")
    private String baseAreaName;

    /**
     * 项目负责人 单位主管项目领导姓名
     */
    @TableField(value = "base_proj_principal")
    private String baseProjPrincipal;

    /**
     * 申报人
     */
    @TableField(value = "base_apply")
    private String baseApply;

    /**
     * 申报单位
     */
    @TableField(value = "base_apply_dept")
    private String baseApplyDept;

    /**
     * 项目负责人手机号 项目负责人手机号
     */
    @TableField(value = "base_proj_principal_call")
    private String baseProjPrincipalCall;

    /**
     * 项目联系人 项目联系人
     */
    @TableField(value = "base_proj_contacts")
    private String baseProjContacts;

    /**
     * 项目联系人手机号 项目联系人手机号
     */
    @TableField(value = "base_proj_contacts_call")
    private String baseProjContactsCall;

    /**
     * 上级业务主管单位
     */
    @TableField(value = "base_prov_man_deprt")
    private String baseProvManDeprt;

    /**
     * 上级业务主管单位浙政钉ID,上级业务主管单位的浙政钉ID
     */
    @TableField(value = "base_prov_man_deprt_ding")
    private String baseProvManDeprtDing;

    /**
     * 本级主管部门,本级牵头单位，比如嵊州市水文站的本级主管部门是嵊州市水利水电局
     */
    @TableField(value = "base_man_deprt")
    private String baseManDeprt;

    /**
     * 本级主管部门的浙政钉ID
     */
    @TableField(value = "base_man_deprt_ding")
    private String baseManDeprtDing;

    /**
     * 建设单位名称
     */
    @TableField(value = "base_build_deprt")
    private String baseBuildDeprt;

    /**
     * 建设单位的浙政钉ID
     */
    @TableField(value = "base_build_deprt_ding")
    private String baseBuildDeprtDing;

    /**
     * 建设单位统一信用代码
     */
    @TableField(value = "base_build_depart_usci")
    private String baseBuildDepartUsci;

    /**
     * 项目类型 1建设，2运维
     */
    @TableField(value = "base_proj_type")
    private String baseProjType;

    /**
     * 是否首次新建 1否，2是
     */
    @TableField(value = "base_proj_whet_new")
    private String baseProjWhetNew;

    /**
     * 项目状态 1未立项，2已立项-未启动，3已立项-建设中，4已立项-已验收，5已立项-已终止，6已立项-变更建设中
     */
    @TableField(value = "base_proj_set_prog")
    private String baseProjSetProg;

    /**
     * 关联应用
     */
    @TableField(value = "base_proj_sys")
    private String baseProjSys;

    /**
     * 关联应用IRS编码
     */
    @TableField(value = "base_proj_sys_code")
    private String baseProjSysCode;

    /**
     * 申报金额（单位：万元）
     */
    @TableField(value = "base_proj_decl_amount")
    private String baseProjDeclAmount;

    /**
     * 批复金额（单位：万元）
     */
    @TableField(value = "base_proj_reply_amount")
    private String baseProjReplyAmount;

    /**
     * 预算来源 1 自有资金，2 政府投资-本级财政资金，3政府投资-上级补助资金，4银行贷款，5其他资金（五种资金来源类型可一个或多个同时存在多个时以中文分号隔开）
     */
    @TableField(value = "base_proj_amount_ori")
    private String baseProjAmountOri;

    /**
     * 预算涉及年度
     */
    @TableField(value = "base_proj_set_year")
    private String baseProjSetYear;

    /**
     * 项目简介
     */
    @TableField(value = "base_proj_intro")
    private String baseProjIntro;

    /**
     * 立项依据,以下7种中的一个或多个：1国家部委下达任务、相关文件明确建设时间，2本级及上级领导批示，3重大任务，4重大共性问题，5重大决策，6普惠性惠企利民，7其他（多个时以中文分号隔开）
     */
    @TableField(value = "base_proj_basis")
    private String baseProjBasis;

    /**
     * 建设层级 G国家级，P省级,PP省本级，M市级，MM市本级，C区县，T乡镇（街道）
     */
    @TableField(value = "base_proj_cons_class")
    private String baseProjConsClass;

    /**
     * 发改编码,发改”投资在线3.0平台”赋予的项目编码
     */
    @TableField(value = "set_proj_code_devlp")
    private String setProjCodeDevlp;

    /**
     * 财政编码,财政”省财政预算申报系统”赋予的项目编码
     */
    @TableField(value = "set_proj_code_finan")
    private String setProjCodeFinan;

    /**
     * 信息是否有效,相应信息记录是否有效：0否，1是；默认（空时）为“是”
     */
    @TableField(value = "is_effective")
    private String isEffective;

    /**
     * 立项批复文件,项目状态为已立项-未启动时必填
     */
    @TableField(value = "approval_file")
    private String approvalFile;

    /**
     * 采购文件,项目状态为已立项-建设中时必填
     */
    @TableField(value = "purchase_file")
    private String purchaseFile;

    /**
     * 中标（成交）通知书,项目状态为已立项-建设中时必填
     */
    @TableField(value = "bidding_file")
    private String biddingFile;

    /**
     * 采购合同,项目状态为已立项-建设中时必填
     */
    @TableField(value = "purchase_contract")
    private String purchaseContract;

    /**
     * 承建单位,项目状态为已立项-建设中时必填
     */
    @TableField(value = "base_cons_deprt")
    private String baseConsDeprt;

    /**
     * 承担单位统一信用代码,项目状态为已立项-建设中时必填
     */
    @TableField(value = "base_cons_deprt_usci")
    private String baseConsDeprtUsci;

    /**
     * 监理单位,项目状态为已立项-建设中时可选择填报
     */
    @TableField(value = "base_supe_name")
    private String baseSupeName;

    /**
     * 监理单位统一信用代码,项目状态为已立项-建设中时可选择填报
     */
    @TableField(value = "base_supe_usci")
    private String baseSupeUsci;

    /**
     * 验收报告,项目状态为已立项-已验收时必填
     */
    @TableField(value = "base_accept_file")
    private String baseAcceptFile;

    /**
     * 变更批复文件,项目状态为已立项-变更建设中时必填
     */
    @TableField(value = "base_chan_file")
    private String baseChanFile;

    /**
     * 创建时间
     */
    @TableField(value = "created_at")
    private LocalDateTime createdAt;

    /**
     * 修改时间
     */
    @TableField(value = "updated_at")
    private LocalDateTime updatedAt;

    /**
     * 关联推送业务系统id
     */
    @TableField(value = "sys_proj_id")
    private String sysProjId;

    /**
     * 同步状态 0未同步 1已同步 2同步失败
     */
    @TableField(value = "sync_status")
    private Integer syncStatus;

    /**
     * 同步结果
     */
    @TableField(value = "sync_result")
    private String syncResult;

    /**
     * 建设类型（1软件,2硬件,3服务）（多选，多个时以中文分号隔开）
     */
    @TableField(value = "base_construction_type")
    private String baseConstructionType;

    /**
     * 可行性研究报告（建设方案、运维方案）项目状态为已立项-未启动时可选择填写，运维项目上传运维方案
     */
    @TableField(value = "research_report_file")
    private String researchReportFile;
}